import 'person.dart';

main(List<String> args) {
  // 类与对象
  var person = new Person();
  // ignore: unused_local_variable
  var person1 = Person();

  person.name = 'Tom';
  person.age = 20;

  print(person.name);
  person.work();

  // person.address = 'China1';
  print(person.address);

  // person.work = (int a) => print(a);
  // person.work(1);

  // person._private_method();
}

// class Person {
//   String name;
//   int age;
//   final String address = 'China';

//   void work() {
//     print('Name is $name, Age is $age, He is working...');
//   }
// }

/**
 * 使用class声明一个类
 * 使用new创建一个对象，new可省略
 * 所有对象默认继承Object类
 */

/**
 * 属性默认会生成getter和setter方法
 * 使用 final 声明的属性只有getter方法
 * 属性和方法通过.访问
 * 方法不能被重载
 */

/**
 * Dart的可见性已library（库）为单位
 * 默认情况下，每一个Dart文件就是一个库
 * 使用_表示哭的私有属性
 * 使用import导入库
 */
